Implementing User-level Value-weak Hashtables

نویسنده

  • Aaron W. Hsu
چکیده

Value weak hashtables retain only weak references to the values associated with either a strongly or weakly referenced key. Value-weak hashtables automatically remove entries with invalid weak references, which occur when the collector reclaims a weakly referenced value. Value-weak hashtables provide a convenient way to automatically manage a table of information whose entries do not need to exist once the values associated with the keys no longer need to exist. However, most Scheme implementations do not provide value-weak hashtables by default in their base library. Keyweak hashtables are more common. This paper presents an user-level technique for implementing value-weak hashtables that relies on features commonly found or that could be implemented in most implementations. This makes value-weak hashtables a practical reality for most Scheme users without requiring additional work on the implementation code itself. Programmers may, therefore, utilize value-weak hashtables in code that targets a wider range of implementations.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Hashconsing in an Incrementally Garbage-Collected System

This article describes the implementations of weak pointers, weak hashtables and hashconsing in version 3.10.2 of the Objective Caml system, with focus on several performance pitfalls and their solutions.

متن کامل

Robust Intersections under Floating Point

Our strategy for handling intersections robustly in floating point is to register degeneracies with tolerances in a hierarchical manner before registering the top level intersection primitives in order from most degenerate (vertex-vertex) to least, followed by the top level primitives (edge-edge and triangle-vertex in 2D, triangleedge and tetrahedron-vertex in 3D). Intersection pairs are stored...

متن کامل

Return Value Prediction in a Java Virtual Machine

We present the design and implementation of return value prediction in SableVM, a Java Virtual Machine. We give detailed results for the full SPEC JVM98 benchmark suite, and compare our results with previous, more limited data. At the performance limit of existing last value, stride, 2-delta stride, parameter stride, and context (FCM) sub-predictors in a hybrid, we achieve an average accuracy o...

متن کامل

بررسی محیط رابط کاربری پایگاه اطلاعاتی نمایۀ نشریات فارسی از دیدگاه کتابداران کتابخانه‌های عمومی کشور

Purpose: This article presents results from a survey on the user interface environment of Persian journals databases from the viewpoints of Iranian public librarians. Methodology: Adopting a survey approach, this study examines the views and experience of public librarians about  about the user interface environment of Persian journals databases, taking into account five dimensions and 58 crit...

متن کامل

Two Steps Towards Automating Efficient Solution of Inverse Problems

We have combined symbolic mathematics with code generation to create a user–friendly environment for specifying finite element methods. The motivation behind this approach is to automate the boring and error-prone task of implementing variational forms of PDEs, which is a cornerstone when developing finite element simulators. By employing a symbolic engine in a high–level language we allow the ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010